A NAND-type flash memory has conventionally been known as a reprogrammable nonvolatile (or non-transitory) memory. Also, a memory system such as a solid state drive (SSD) including the NAND-type flash memory has recently been developed.
Data retention (DR) of the NAND-type flash memory deteriorates when the memory is left to stand for long time periods. In the above-mentioned memory system, therefore, it is necessary to remove the influence of the deterioration of DR of the NAND-type flash memory. In this memory system, it is also necessary to remove the influence of program disturb (PD) and read disturb (RD). PD is a phenomenon in which data write changes the values (or threshold voltage) of nearby memory cells. RD is a phenomenon in which data read changes the values (or threshold voltage) of nearby memory cells.
Accordingly, if, for example, a read error has occurred under the influence of PD, RD, or DR (the deterioration of DR), a general conventional technique is to apply an operation of moving (i.e., rewriting) data in a first memory area containing the error to a second memory area different from the first memory area. This operation is called “refresh”. Each of the first and second memory areas is, e.g., the unit of erase by which data are erased at once in the memory system. The refresh operation includes data read and write. If the refresh operation frequently occurs, therefore, the NAND-type flash memory may deteriorate. Also, in the conventional technique, a process of invalidating the first memory area as needed is performed after the refresh operation regardless of whether the cause of the error is PD, RD, or DR. Depending on the cause of the error, however, the influence on the first memory area sometimes improves when the NAND-type flash memory is left to stand. Accordingly, it is necessary to prevent the deterioration of the NAND-type flash memory caused by an unnecessary refresh operation, and prevent the decrease in capacity of the NAND-type flash memory caused by memory area invalidation.